home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 11 - 1995 / 11.02 Feb 95 / 11.02 Getting Started / ListTester / LinkedList.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-30  |  812 b   |  42 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        LinkedList.h
  3.  
  4.     Contains:    A linked list
  5.     Written by: Dave Mark
  6.     Copyright:    © 1994 by Dave Mark, all rights reserved.
  7.  */
  8.  
  9. #ifndef        _LINKEDLIST_
  10. #define        _LINKEDLIST_
  11.  
  12. #ifndef        _LINK_
  13. #include    "Link.h"
  14. #endif
  15.  
  16.  
  17. const OSErr kLinkedList_LinkNotFoundErr = -2;
  18. const OSErr kLinkedList_CouldNotDeleteLinkErr = -3;
  19.  
  20.  
  21. class    TLinkedList
  22. {
  23.   public:
  24.                             TLinkedList();
  25.     virtual                 ~TLinkedList();
  26.  
  27.     virtual    OSErr            CreateAndAddLink( void *objectPtr );
  28.     virtual    OSErr            FindAndDeleteLink( void *objectPtr );
  29.     virtual unsigned long    CountLinks();
  30.     virtual void            *GetNthLinkObject( unsigned long linkIndex );
  31.  
  32.   protected:
  33.     virtual void            DeleteAllLinks();
  34.     TLink                    *FindLink( void *objectPtr );
  35.     virtual OSErr            DeleteLink( TLink *linkPtr );
  36.     
  37.     TLink                    *fFirstLinkPtr;
  38.     TLink                    *fLastLinkPtr;
  39. };
  40.  
  41. #endif
  42.